Skip to content

feat: support mini.statusline plugin#336

Open
adriantrunzo wants to merge 2 commits intodracula:masterfrom
adriantrunzo:mini-statusline
Open

feat: support mini.statusline plugin#336
adriantrunzo wants to merge 2 commits intodracula:masterfrom
adriantrunzo:mini-statusline

Conversation

@adriantrunzo
Copy link
Contributor

@adriantrunzo adriantrunzo commented Mar 6, 2026

Fixes #335

I've tried to replicate the airline theme for the mode colors and adhere to the defaults of the mini.statusline plugin for the rest. Airline doesn't support a separate highlight group for command mode, so I've chosen the cyan color.

Documentation for the highlight groups: https://github.com/nvim-mini/mini.nvim/blob/cad365c212fb1e332cb93fa8f72697125799d00a/doc/mini-statusline.txt#L48

The screenshots below are using the default configuration for the mini.statusline plugin.


Screenshot 2026-03-14 at 11 58 20 AM Screenshot 2026-03-14 at 11 58 28 AM Screenshot 2026-03-14 at 11 59 13 AM Screenshot 2026-03-14 at 11 58 40 AM Screenshot 2026-03-14 at 11 58 55 AM Screenshot 2026-03-14 at 11 59 36 AM Screenshot 2026-03-14 at 12 04 46 PM Screenshot 2026-03-14 at 12 10 51 PM

@adriantrunzo
Copy link
Contributor Author

@cnjhb Feel free to try out this patch locally and let me know how it looks.

@cnjhb
Copy link

cnjhb commented Mar 6, 2026

@cnjhb Feel free to try out this patch locally and let me know how it looks.

@adriantrunzo That's fine,
but wouldn't it be better to use different colors for command mode and normal mode?

@adriantrunzo
Copy link
Contributor Author

but wouldn't it be better to use different colors for command mode and normal mode?

Good question. It looks like the existing airline and lightline themes don't specify a separate color for command mode. Nor do I think airline supports a different color for command mode: https://github.com/vim-airline/vim-airline/blob/4ab7c731fe64672412fbe0723831928785c84931/autoload/airline/themes/dark.vim#L16.

Do you have any suggestions about which color to use? We haven't used Cyan or Pink, but they may be too bright? Red would look like an error.

To play it safe, we could just match airline and let people customize the MiniStatuslineModeCommand highlight group in their nvim configuration.

@cnjhb
Copy link

cnjhb commented Mar 7, 2026

but wouldn't it be better to use different colors for command mode and normal mode?

Good question. It looks like the existing airline and lightline themes don't specify a separate color for command mode. Nor do I think airline supports a different color for command mode: https://github.com/vim-airline/vim-airline/blob/4ab7c731fe64672412fbe0723831928785c84931/autoload/airline/themes/dark.vim#L16.

Do you have any suggestions about which color to use? We haven't used Cyan or Pink, but they may be too bright? Red would look like an error.

To play it safe, we could just match airline and let people customize the MiniStatuslineModeCommand highlight group in their nvim configuration.

It doesn't matter if it's brighter, because the text is black.
The colors in both visual mode and insert mode are quite bright and look quite suitable.

@adriantrunzo
Copy link
Contributor Author

@benknoble I've pushed a new commit with the refactored inverse colors. A few points worth further discussion:

  • I've explicitly set the inverse groups to use s:bg instead of s:none for the foreground color. This approach differs from DraculaTodo, for example. The reason is that with s:none the color underneath actually becomes the foreground (text) color. For the statusline (and potentially other cases), the color underneath can be a lighter color that reduces contrast and readability.
  • I've removed the DraculaSearch highlight group because it's now redundant with DraculaGreenInverse and linked Search directly to DraculaGreenInverse. This change is technically a breaking change for folks that were referencing DraculaSearch in their personal configurations. Would you like me to add back a definition like hi! link DraculaSearch DraculaGreenInverse to maintain compatability?

@cnjhb I choose cyan for the command mode color. Please see the screenshots in the pull request description.

@adriantrunzo adriantrunzo requested review from benknoble and cnjhb March 14, 2026 19:26
@benknoble
Copy link
Member

@benknoble I've pushed a new commit with the refactored inverse colors. A few points worth further discussion:

* I've explicitly set the inverse groups to use `s:bg` instead of `s:none` for the foreground color. This approach differs from `DraculaTodo`, for example. The reason is that with `s:none` the color underneath actually becomes the foreground (text) color. For the statusline (and potentially other cases), the color underneath can be a lighter color that reduces contrast and readability.

This is great, thanks.

Would you mind splitting into 2 patches?

  1. Universally establish Inverse color groups
  2. Support mini.statusline

If not, I can do it locally before merging.

* I've removed the `DraculaSearch` highlight group because it's now redundant with `DraculaGreenInverse` and linked `Search` directly to `DraculaGreenInverse`. This change is technically a breaking change for folks that were referencing `DraculaSearch` in their personal configurations. Would you like me to add back a definition like `hi! link DraculaSearch DraculaGreenInverse` to maintain compatability?

Yep, I'd prefer not to change (for now) the public interface by removing groups, so let's go ahead and keep DraculaSearch by whatever mechanism makes sense.

@adriantrunzo
Copy link
Contributor Author

Would you mind splitting into 2 patches?

1. Universally establish Inverse color groups

2. Support mini.statusline

If not, I can do it locally before merging.

Done. I've included both commits in this pull request, but also created a separate pull request with just the inverse group changes: #338. I don't know what your git workflow is, but hopefully you have what you need.

Yep, I'd prefer not to change (for now) the public interface by removing groups, so let's go ahead and keep DraculaSearch by whatever mechanism makes sense.

Sure, I've retained DraculaSearch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

Can we support mini.statusline?

4 participants